import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import { join } from "path";
import dts from "vite-plugin-dts";
import path from "path";

const resolve = (path: string) => join(__dirname, path);
const pathResolve = (pathStr) => {
  return path.resolve(__dirname, pathStr);
};
// https://vitejs.dev/config/
export default defineConfig({
  plugins: [vue(),dts({ rollupTypes: true })],
  resolve: {
    // 根据需要新增
    alias: {
      "@": resolve("src"),
    },
  },
  // 打包重命名
  build: {
    outDir: "dist",
    lib: {
      name: "ChatInputNext",
      entry: pathResolve("src/export.ts"),
      fileName: (format) => `chat-input-next.${format}.js`,
    },
    rollupOptions: {
      // 确保外部化处理那些你不想打包进库的依赖
      external: ["vue"],
      output: {
        // 在 UMD 构建模式下为这些外部化的依赖提供一个全局变量
        globals: {
          vue: "Vue",
        },
      },
    },
  },
})
